package com.icss.flow.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.icss.flow.pojo.dto.TMetaFieldCreateDto;
import com.icss.flow.pojo.dto.TMetaFieldUpdateDto;
import com.icss.flow.pojo.entity.TMetaField;
import com.icss.flow.pojo.vo.TMetaFieldModeleVO;
import com.icss.flow.pojo.vo.TMetaFieldVO;

import java.util.List;

/**
 * 元数据实体字段表(TMetaField)表服务接口
 *
 * @author makejava
 * @since 2024-01-30 13:05:58
 */
public interface TMetaFieldService extends IService<TMetaField> {


    TMetaField getPrimaryKeyByEntityCode(Integer entityCode);


    // 通过主键修改字段数据
    Boolean updateField(String json);

    // 通过主键查询单条数据
    List<TMetaFieldModeleVO> queryFieldById(Integer entityCode);
    /**
     * 新增实体字段
     * @param entityCode 实体code
     * @param tMetaFieldDto 实体dto
     * @return
     */
    Boolean createMetaField(Integer entityCode, TMetaFieldCreateDto tMetaFieldDto);

    /***
     * 修改实体字段
     * @param tMetaFieldUpdateDto
     * @return
     */
    Boolean updateMetaField(TMetaFieldUpdateDto tMetaFieldUpdateDto);

    /***
     * 获取实体字段列表
     * @param entityCode 实体code
     * @return 实体字段vo
     */
    List<TMetaFieldVO> getMetaFieldList(Integer entityCode);

    /***
     * 逻辑删除实体字段
     * @param autoId
     * @return
     */
    Boolean deleteMetaField(Integer autoId);
}
